公司主页 文档归类 淘宝

编译第一个工程(simple_peripheral)

成功编译通过第一个工程对我们入门开发至关重要,如果失败了可能就是麻烦的开始。TI SimplLink CC13x0/CC26x0 MCU 系列SDK 组件太多,第一个工程编译出错的概率极高,所以这里我们单独陈列一章节,详细讲解如何成功编译第一个工程,以及常见问题解决。

编译前我们确保参考CC2640R2 BLE 开发环境搭建全部默认安装路径,其他非默认路径极有可能会编译报错。
SDK安装路径 C:\ti\simplelink_cc2640r2_sdk_1_35_00_33,确保Examples也在默认路径未搬移。
IAR安装路径 C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.5,对应版本为 EWARM-7.80.3
CCS安装路径 C:\ti\ccsv7\eclipse\ccstudio.exe,对应版本为 CCS-7.01.00.00016

同时我们需要确定IAR编译相关的一个自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables),所有编译、链接相关命令路径完全依靠该配置选项,如果配置路径错误,会直接导致编译过程报错,该配置很多通过绝对路径引用,这也就是我们反复强调,暂时地我们都尝试默认路径安装的根本原因。如果当前机器历史安装多个CC13x0/CC26x0 SDK,这里可能出现多个自定义参数变量配置集合同时生效的问题,我们需要选择其他不需要的Disable掉。

如上图所示,在Global标签卡里面,有两个全局(Global)的自定参数配置集合在当前工作空间(Workspace)生效,我们需要选中tirtos_cc13xx_cc26xx_2_20_01_08(global)->Disable Group->最好选择重启IAR。

警告:如上图所示SIMPLELINK_CC2640R2_SDK作为当前Workspace的使用配置需要唯一Enable,其他的无关在Workspace/Global选项卡的需要Disable到灰色。

C:\ti\simplelink_cc2640r2_sdk_1_35_00_33\examples\rtos\CC2640R2_LAUNCHXL包含我们CC2640R2开发板的所有例程,blestack路和ble5stack分别对应BLE4.2和BLE5.0的样例工程。
这里我们选择ble5stack\ble5_simple_peripheral 和IAR 编译下载测试。打开ble5_simple_peripheral,IAR工程主要有App+Stack两个工程组成(软件框架)已经详细讲解,每个工程又对应不同的编译选项,我们的这里的选择的FlashROM_Lirary编译选项是把协议栈作为编译生成一个库文件供App工程链接,所以我们这里需要先编译Stack工程。成功编译Stack后再编译App,链接Stack,成功生成镜像文件后直接下载。

成功编译第一个工程后,可以参考下载运行第一个程序下载运行,和观察现象。

Troubleshooting

对于以下非语法错误的编译失败,我们第一时间检查自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)。

编译失败,提示Could not launch the tool "C:\ti\xdctools_3_50_01_13_core/xs"

TI BLE SDK 编译需要借助XDCTools,该工具通过SDK默认安装在我们的"C\ti"

对于IAR通过自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)里面的 XDC_ROOT配置该路径,如果通过该XDC_ROOT找不到该路径,就会提示该错误。

按照我们的思路检查自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)XDC_ROOT,配置如下图:

我们展开当前工程的配置集合,在资源管理器浏览C:\ti\xdctools_3_50_01_13_core并不能找到该路径。尝试直接Edit Variable直接更改到我们电脑存在的最新版本C:\ti\xdctools_3_50_02_20_core。重新编译后正常。

注意:确保当前Workspace 只有一个配置集合生效

编译失败提示cannot open source file "xdc/std.h"

该问题同 编译失败提示cannot open source file "xdc/std.h" 一样。我们需要确认XDC_ROOT路径。

编译协议栈失败,提示找不到osal_icall_ble.c.

对于CC2640R2F SDK默认Examples,我们没有做任何更改,提示找不到.c/很有可能是也是这里的自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)配置错误。TI IAR工程部分.c通过相对路径添加,相对EXAMPLES_ROOT路径添加,如果改路径配置错误,可能会找不到对应的.c文件。

按照我们的思路检查自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables)XDC_ROOT,配置如下图:

如上图所示,这里存在两个生效的配置集合,两个生效配置集合都有EXAMPLE_ROOT变量,我们Disable 全局的后,重启IAR,编译正常。

注意:和XDC_ROOT不一样,EXAMPLE_ROOT的更改后需要重启IAR

编译失败提示 Error while running "c:/ti/xdctools_3_32_00_06_core/xs

Error while running "c:/ti/xdctools_3_32_00_06_core/xs"  
--xdcpath="c:/ti/tirtos_cc13xx_cc26xx_2_20_01_08/packages;c:/ti/tirtos_cc13xx_cc26xx_2_20_01_08/products/tidrivers_cc13xx_cc26xx_2_20_01_10/packages;c:/ti/tirtos_cc13xx_cc26xx_2_20_01_08/products/bios_6_46_01_38/packages; 

出现该问题,同样还是检查自定义参数变量配置集合(IAR->Tools->Configure Custom Argument Variables),确保当前Wrospace只有一个生效,同时可以展开确定路径是否有效。

加入我们

文章所有代码、工具、文档开源。加入我们QQ群 591679055获取更多支持,共同研究CC2640R2F&BLE5.0。

CC2640R2F&BLE5.0-乐控畅联 © Copyright 2017, 成都乐控畅联科技有限公司.